package com.garlicts.excel;

import org.springframework.context.ApplicationContext;

import java.lang.reflect.Field;
import java.util.Map;

public interface GarlictsExcelVerifyHandler<T> {

	/**
	 * excel数据校验
	 * 
	 * @param t 行数据
	 * @param currRowNum excel的当前行号
	 * @param fieldColumnNumMap k=fieldName（属性名）, v=excel列的索引值
	 * 
	 * @return map k=行号+"_"+列号, v=错误信息
	 * 
	 */
	public Map<String, String> verify(T t, int currRowNum, Map<String, Integer> fieldColumnNumMap, ApplicationContext applicationContext);

	/**
	 * excle数据导入，实现导入逻辑
	 * @return 执行导入返回的错误信息
	 */
	public String execute(T t, int currRowNum, Map<String, Integer> fieldColumnNumMap, ApplicationContext applicationContext);
	
}
